home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 09, No. 11 (1988-11)(MicroSPARC)(Side A).zip / Nibble Volume 09, No. 11 (1988-11)(MicroSPARC)(Side A).po / GSTIME.S < prev    next >
Text File  |  1996-12-24  |  2KB  |  57 lines

  1. ********************************
  2. * GSTIME Source Code           *
  3. * By Paul MacMillan            *
  4. * Copyright(c) 1988            *
  5. * MicroSPARC, Inc.             *
  6. * Concord, MA 01742            *
  7. * Assembler: Merlin 16         *
  8. ********************************
  9.  
  10. CHKCOM    = $DEBE        ;ROM ROUTINES: CHECK COMMA
  11. FINDVAR   = $DFE3        ;  SET UP POINTERS TO VARIABLE
  12. CNFRMSTR  = $DD6C        ;  CONFIRM ARGUMENT IS STRING
  13. MOVESTR   = $E3E9        ;  MOVE STRING TO STRING SPACE
  14. MOVEPTR   = $DA9A        ;  FIX POINTERS AFTER MOVE
  15. VARADR    = $85          ;POINTER TO STRING DESCRIPTOR
  16. INBUF     = $220         ;INPUT BUFFER
  17. ANYWHERE  = $300         ;ARBITRARY ORG LOCATION
  18. TOOLBOX   = $E10000      ;TOOLBOX
  19.  
  20. START     ORG ANYWHERE
  21.           XC             ;TELL MERLIN TO ALLOW
  22.            XC            ; 65816 OPCODES
  23.  
  24. PARSE     JSR CHKCOM     ;CONFIRM COMMA FOLLOWS CALL
  25.           JSR FINDVAR    ;GET POINTER TO VARIABLE
  26.           JSR CNFRMSTR   ;IS IT A STRING?
  27.           STA VARADR     ;STORE POINTER
  28.           STY VARADR+1
  29.  
  30. STACK     LDA #0         ;PUT POINTER TO BUFFER ON STACK
  31.           PHA            ; FOR TOOLBOX CALL
  32.           PHA
  33.           LDA #>INBUF
  34.           PHA
  35.           LDA #<INBUF
  36.           PHA
  37.  
  38. TOOL      CLC            ;SET NATIVE MODE
  39.           XCE
  40.           REP #$30       ;ALLOW 16 BIT REGISTERS AND
  41.           MX %00         ; TELL MERLIN ABOUT IT
  42.           LDX #$0F03     ;READASCIITIME FUNCTION
  43.           JSL TOOLBOX    ;MAKE TOOLBOX CALL
  44.           SEC            ;RETURN TO
  45.           XCE            ; EMULATION MODE
  46.           MX %11         ; AND 8-BIT MERLIN MODE
  47.  
  48. FIXVAR     LDA  #<INBUF  ;SET UP POINTERS
  49.           LDY  #>INBUF
  50.           LDX  #0
  51.           STX  INBUF+20
  52.           JSR MOVESTR    ;MOVE STRING TO STRING SPACE
  53.           JSR MOVEPTR    ; AND FIX POINTERS TO VARIABLE
  54.  
  55.           RTS
  56.           CHK            ;MERLIN CHK CODE IS E0
  57.